package com.eling.elcms.travel.service;

import com.eling.elcms.core.model.BaseModel;
import com.eling.elcms.travel.model.ApprovalProcess;

import java.util.Map;

public interface IApprovalService {
	/**
	 * 
	 * 提交
	 * @param type 业务类型
	 * @param model 业务对应Model
	 * @return
	 */
	<T extends BaseModel> T  commit(String  businesstype,T model);
	
	/**
	 * 
	 * 审批 
	 * @param actionModel 业务数据审批实例Model
	 * @return
	 */
	Map<String, Object> approval(ApprovalProcess approvalProcess );
	
	/**
	 * 
	 * 弃审 
	 * @param nextApprovalprocesspk 
	 * @param type 业务类型 
	 * @param user 审批人
	 * @param suggestion 意见
	 * @return
	 */
	
//	ApprovalProcess  abandonApproval(ApprovalProcess approvalProcess, List<Long> nextApprovalprocesspk);
	 /**
	  *审批（暂时使用）
	  * 
	  * @param modelId
	  * @param modelClass
	  * @return
	  */
	BaseModel approvalTest(Long modelId, String modelClass);

}
